Hi Deepa,
Here is the difference,
HashMap
makes absolutely no guarantees about the iteration order. It can (and will) even change completely when new elements are added.
TreeMap
will iterate according to the "natural ordering" of the keys according to their compareTo()
method (or an externally supplied Comparator
). Additionally, it implements the SortedMap
interface, which contains methods that depend on this sort order.
LinkedHashMap
will iterate in the order in which the entries were put into the map
See below example that i found,
Map m1 = new HashMap();
m1.put("map", "HashMap");
m1.put("schildt", "java2");
m1.put("mathew", "Hyden");
m1.put("schildt", "java2s");
print(m1.keySet());
print(m1.values());
SortedMap sm = new TreeMap();
sm.put("map", "TreeMap");
sm.put("schildt", "java2");
sm.put("mathew", "Hyden");
sm.put("schildt", "java2s");
print(sm.keySet());
print(sm.values());
LinkedHashMap lm = new LinkedHashMap();
lm .put("map", "LinkedHashMap");
lm .put("schildt", "java2");
lm .put("mathew", "Hyden");
lm .put("schildt", "java2s");
print(lm .keySet());
print(lm .values());